/*
 * Copyright (C) The Apache Software Foundation. All rights reserved.
 *
 * This software is published under the terms of the Apache Software License
 * version 1.1, a copy of which has been included with this distribution in
 * the LICENSE file.
 */
package ranab.server.ftp.gui;

import javax.swing.JPanel;

import ranab.server.ftp.FtpConfig;

/**
 * All ftp UI right side panels are derived from this class.
 */
public
abstract class PluginPanel extends JPanel {

    protected FtpTree mTree; 
    
    /**
     * Constructor - set the ftp tree object.
     */
    public PluginPanel(FtpTree tree) {
        mTree = tree;
    }
    
    /**
     * Get ftp tree object.
     */
    public FtpTree getTree() {
        return mTree;
    }
    
    /**
     * Reload new configuration. Config object can be null
     */ 
    public abstract void refresh(FtpConfig config);
    
    /**
     * Is displayable in the root pane.
     */
    public abstract boolean isDisplayable(); 
     
}
